package com.cls.business.service;

import com.cls.business.entity.Message;

import com.cls.common.entity.QueryRequest;
import com.cls.system.entity.User;
import com.github.pagehelper.PageInfo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 系统消息表 Service接口
 *
 * @author wandering
 * @date 2020-11-27 10:39:09
 */
public interface IMessageService extends IService<Message> {
    /**
     * 查询（分页）
     *
     * @param request QueryRequest
     * @param message message
     * @return PageInfo<Message>
     */
    PageInfo<Message> findMessages(QueryRequest request, Message message);

    /**
     * 查询（所有）
     *
     * @param message message
     * @return List<Message>
     */
    List<Message> findMessages(Message message);

    /**
     * 新增
     *
     * @param message message
     */
    void createMessage(Message message);

    /**
     * 修改
     *
     * @param message message
     */
    void updateMessage(Message message);

    /**
     * 删除
     *
     * @param ids ids
     */
    void deleteMessages(String[] ids);

    /**
     * @param messageText 发送的消息文本
     * @param publishUser 发送的用户
     * @param receiveUser 接收消息的用户
     * @return a
     * @author Carey
     * @description
     * @date 2020/11/27 3:43 下午
     */
    void sendMessage(String messageText, User publishUser, User receiveUser);

    /**
     * @param messageText 发送的消息文本
     * @param publishUser 发送的用户
     * @param receiveUserId 接收消息的用户
     * @return a
     * @author Carey
     * @description
     * @date 2020/11/27 3:43 下午
     */
    void sendMessageById(String messageText, User publishUser, Long receiveUserId);
}
